package com.heartech.prediciton_wx.utils.message;

import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringEscapeUtils;
import org.thymeleaf.util.StringUtils;

import java.io.IOException;
import java.io.PrintWriter;


@Slf4j
public class UserResult {
    public static void sendXmlResponse(String data, HttpServletResponse response) {
       /*
       进行xml文件的转义
       和format效果类似
       因为上文的代码中
       返回的string数据里面的，< > 符号已经被转义无法正常传输给微信服务器识别
       */
        data = StringEscapeUtils.unescapeXml(data);
        log.info("返回信息为" + data);
        // 如果数据为空，直接返回
        if (StringUtils.isEmpty(data)) {
            log.error("数据为空！");
            return;
        }
        try {
            // 规定编码并返回数据
            response.setCharacterEncoding("UTF-8");
            PrintWriter printWriter = response.getWriter();
            printWriter.print(data);
            printWriter.close();
        } catch (IOException io) {
            log.error("处理响应时出现IOException: {}", io.getMessage(), io);
            // 可以根据需要进行其他处理，如返回适当的错误响应
            response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
        }

    }
}

